package com.authine.cloudpivot.ext.domain.dto;

import com.authine.hermes.app.launcher.cmd.Attachment;
import com.authine.mvp.app.launcher.domain.SelectorFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @program: gm-market
 * @description: 市场商品详情dto
 * @author: wlw
 * @create: 2021-08-06 10:37
 **/

@Data
@Schema(description = "MarketGoodsDto")
public class MarketGoodsDto {

    @Schema(description = "id")
    private String id;

    @Schema(description = "供应商ID，前端")
    private SelectorFormat vendor_id;

    @Schema(description = "包装数量")
    private BigDecimal package_num;

    @Schema(description = "税前单价")
    private BigDecimal pretax_price;

    @Schema(description = "税后单价")
    private BigDecimal price;

    @Schema(description = "税率")
    private BigDecimal tax_rate;

    @Schema(description = "sku")
    private String sku;

    @Schema(description = "库存数量")
    private BigDecimal stock;

    @Schema(description = "保修期")
    private String warranty;

    @Schema(description = "最小起订量")
    private BigDecimal min_order;

    @Schema(description = "过期时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date expiry;

    @Schema(description = "长")
    private BigDecimal length;

    @Schema(description = "宽")
    private BigDecimal width;

    @Schema(description = "高")
    private BigDecimal height;

    @Schema(description = "重量")
    private BigDecimal weight;

    @Schema(description = "运费模板ID")
    private String freight_template_id;

    @Schema(description = "上下架")
    private Boolean saled;

    @Schema(description = "启禁用")
    private Boolean enabled;

    @Schema(description = "操作人")
    private String operator;

    @Schema(description = "货期要求")
    private String delivery_claim;

    @Schema(description = "供应商组织名称")
    private String org_fullname;

    @Schema(description = "外部来源ID")
    private String client_id;

    @Schema(description = "外部来源商品ID")
    private String client_goods_id;

    @Schema(description = "是否删除")
    private Boolean del;

    @Schema(description = "审批状态")
    private String review_status;

    @Schema(description = "商城上下架")
    private Boolean mall_sales;

    @Schema(description = "安全库存")
    private BigDecimal safe_stock;

    @Schema(description = "审批意见")
    private String review_content;

    @Schema(description = "调整后税后单价")
    private BigDecimal adjust_price;

    @Schema(description = "调整后税前单价")
    private BigDecimal adjust_pretax_price;

    @Schema(description = "关联原商品的id")
    private String relation_goods_id;

    @Schema(description = "客户组织id")
    private String organization_id;

    @Schema(description = "客户组织名称")
    private String organization_name;

    @Schema(description = "品牌")
    private String brand;

    @Schema(description = "商品名称")
    private String name;

    @Schema(description = "型号")
    private String model;

    @Schema(description = "规格")
    private String spec;

    @Schema(description = "条形码")
    private String bar_code;

    @Schema(description = "金税编码")
    private String golden_tax;

    @Schema(description = "美国电子目录编码")
    private String unspsc;

    @Schema(description = "old_sepc")
    private String old_sepc;

    @Schema(description = "产地")
    private String place;

    @Schema(description = "发货地")
    private Object delivery_place;

    @Schema(description = "商品类型")
    private String type;

    @Schema(description = "现货交货期(天)")
    private BigDecimal stock_delivery;

    @Schema(description = "平台目录id")
    private String catalog_id;

    @Schema(description = "目录名称")
    private String catalog;

    @Schema(description = "报价单位id")
    private String unit_id;

    @Schema(description = "报价单位名称")
    private String unit;

    @Schema(description = "包装单位id")
    private String package_unit_id;

    @Schema(description = "包装单位名称")
    private String package_unit;

    @Schema(description = "税率id")
    private String tax_rate_id;

    @Schema(description = "无库存交货期(天)")
    private BigDecimal delivery;

    @Schema(description = "平台调整价格比例")
    private BigDecimal platform_adjust_ratio;

    @Schema(description = "调整比例")
    private BigDecimal adjust_ratio;

    @Schema(description = "商品主图")
    private Object images;

    @Schema(description = "商品描述")
    private String description;

    @Schema(description = "包装参数")
    private String packaging;

    @Schema(description = "商品备注")
    private String memo;

    @Schema(description = "商品详情图")
    private Object godds_detail_images;

    @Schema(description = "技术参数")
    private String technical;

    @Schema(description = "商品精选")
    private String mall_featured;

    @Schema(description = "市场商品类型 1市场商品  2非市场商品")
    private String mall_goods_type;

    @Schema(description = "供应商类型")
    private Boolean fictitious;

    @Schema(description = "商品特性启禁用")
    private Boolean profile_enabled;

}
